package top.yuechenc.manage.service;

import com.github.pagehelper.PageInfo;
import top.yuechenc.manage.entity.SpCategory;
import top.yuechenc.manage.entity.SpCategoryDto;

import java.util.List;

/**
 * 商品分类服务
 *
 * @author Zhiwei Wang
 * @date 2020/3/30 14:09
 */
public interface CategoryService {
    /**
     * 条件分页获取商品类型
     *
     * @param spCategory 类型对象
     * @param pageNum    当前页
     * @param pageSize   每页显示条数
     * @return 类型对象列表
     * @author Zhiwei Wang
     * @date 2020/3/30 14:15
     */
    PageInfo<SpCategory> findListByParam(SpCategory spCategory, int pageNum, int pageSize);

    /**
     * 根据父分类编号获取分类列表
     *
     * @param catPid 父分类编号
     * @return List<SpCategoryDto>
     * @author Zhiwei Wang
     * @date 2020/3/30 14:57
     */
    List<SpCategoryDto> getByCatPid(String catPid);


    /**
     * 根据父分类编号分页获取分类列表
     *
     * @param pageNum  当前页
     * @param pageSize 每页显示条数
     * @param catPid   父分类编号
     * @author Zhiwei Wang
     * @date 2020/3/30 14:57
     */
    PageInfo<SpCategoryDto> getByCatPid(String catPid, int pageNum, int pageSize);

    /**添加分类
     * @author Zhiwei Wang
     * @param spCategory 分类对象
     * @date 2020/3/31 9:11
     */
    void addCate(SpCategory spCategory);

    /**根据编号查询分类信息
     * @author Zhiwei Wang
     * @param catId 分类编号
     * @return SpCategory 分类对象
     * @date 2020/3/31 9:20
     */
    SpCategory findById(String catId);

    /**根据编号修改分类信息
     * @author Zhiwei Wang
     * @param spCategory 分类对象
     * @date 2020/3/31 9:20
     */
    void updById(SpCategory spCategory);

    /**根据编号删除分类信息
     * @author Zhiwei Wang
     * @param catId 分类对象
     * @date 2020/3/31 9:20
     */
    void delById(String catId);
}
